// packagePersonalCenter/pages/topup/topup.js
Page({
  /**
    * 页面的初始数据
    */
   data: {
     i: 0,
     payType: 'wechatPay', // 设置默认支付类型为微信支付
     amount: 0,
     array: [10, 50, 100, 200, 500, 1000],
     encodedAmount:0,
     succ:0,
     userId:'',
     token:'',
     payPassword:''
   },
   handleInput: function(e) {
     let value = e.detail.value;
     // 只允许输入数字
     value = value.replace(/[^0-9]/g, '');
     // 限制长度为 6 位
     if (value.length > 6) {
       value = value.slice(0, 6);
     }
     // 将处理后的值设置回输入框
     this.setData({
       payPassword: value
     });
   },
    /**
    * 根据索引选择金额
    */
    selectAmountByIndex() {
     this.setData({
       amount: this.data.array[this.data.i]
     });
    },
    radioChange: function (e) {
     this.setData({
       payType: e.detail.value
     });
     // 这里可以根据选择的支付类型做进一步处理，比如记录选择结果，准备后续支付流程等
     console.log('当前选择的支付类型：', this.data.payType);
    },
    changeIndex(e) {
         return new Promise((resolve, reject) => { console.log(e.target.dataset.i); this.setData({ i: e.target.dataset.i }, () => { 
        // 在setData的回调函数中，此时数据已经更新完成，可以获取到更新后的值
      const updatedI = this.data.i;
     this.setData({ amount: this.data.array[updatedI] }, () => { console.log(this.data.array[updatedI]); 
     resolve(this.data.array[updatedI]); }); }); }); 
 } ,
    inputAmount: function (e) {
     const inputValue = e.detail.value;
     if (!isNaN(inputValue) && inputValue >= 0) {
       this.setData({
         amount: inputValue
       });
     } else {
       wx.showModal({
         title: '提示',
         content: '请输入有效的金额',
         showCancel: false
       });
     }
    },
    checkAmount () {
     if (this.data.amount == 0) {
       wx.showModal({
         title: '提示',
         content: '输入金额不正确',
         showCancel: false
       });
       return;
     } 
     wx.request({
       url: 'http://localhost:8080/system/wallet/transaction', // 这里替换为你要请求的实际 API 地址
       method: 'PUT', // 请求方法，可以是 'POST'、'PUT'、'DELETE' 等，根据实际需求修改
        header: {
                   'authorization': 'Bearer\u0020' + this.data.token
               },
       data:{
         senderId:this.data.userId,//发钱人,用户id
         recipientId:9999,//
         money:this.data.amount,//金额
         payPassword:this.data.payPassword,//支付密码
         act:0,//转入或者转出
       },
       
       success: (res) => {
         // 请求成功的回调函数
         console.log("成功支付");
         this.setData({
           encodedAmount: encodeURIComponent(this.data.amount)
         })
       if (res.data.code == 200) {
         wx.navigateTo({
           url: "/packagePersonalCenter/pages/topupSuccess/topupSuccess?param=" + this.data.encodedAmount
         });
       }
       },
       fail: (err) => {
         // 请求失败的回调函数
         console.error('请求失败:', err);
         this.setData({
           responseData: '请求失败，请稍后重试'
         });
       }
     });
 
     
    } ,
   /**
    * 生命周期函数--监听页面加载
    */
   onLoad(options) {
     const app=getApp()
      const token = wx.getStorageSync('token');//获取令牌
     this.setData({
       userId:app.globalData.userInfo.userId,
       token:token
     })
   },
  
   /**
    * 生命周期函数--监听页面初次渲染完成
    */
   onReady() {
 
   },
 
   /**
    * 生命周期函数--监听页面显示
    */
   onShow() {
 
   },
 
   /**
    * 生命周期函数--监听页面隐藏
    */
   onHide() {
 
   },
 
   /**
    * 生命周期函数--监听页面卸载
    */
   onUnload() {
 
   },
 
   /**
    * 页面相关事件处理函数--监听用户下拉动作
    */
   onPullDownRefresh() {
 
   },
 
   /**
    * 页面上拉触底事件的处理函数
    */
   onReachBottom() {
 
   },
 
   /**
    * 用户点击右上角分享
    */
   onShareAppMessage() {
 
   }
 })